package com.yingside.gui.book;

import java.util.List;

public interface IBookManager {
    /**
     * 从book.txt文件中读取所有信息，保存到集合中并且返回
     * @return List<Book>的泛型集合
     */
    List<Book> list();

    /**
     * 根据名称到book.txt中查询相应的图书
     * @param bookName 图书名称
     * @return 得到查询图书的具体对象，如果没有查到返回null
     */
    Book get(String bookName);

    /**
     * 根据序号到book.txt中查询相应的图书
     * @param id 图书序号
     * @return 得到查询图书的具体对象，如果没有查到返回null
     */
    public Book get(int id);

    /**
     * 根据名称到book.txt中删除相应的图书
     * @param bookName 图书名称
     * @return 删除成功true，否则false
     */
    boolean delete(String bookName);

    /**
     * 根据编号到book.txt中删除相应的图书
     * @param id 图书编号
     * @return 删除成功true，否则false
     */
    boolean delete(int id);

    /**
     * 根据传入的book对象进行修改
     * @param book book类型的对象
     * @return 成功true，失败false
     */
    boolean update(Book book);

    boolean add(Book book);
}
